// bottomNav.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    // 可以通过父组件传入当前激活的标签
    activeTab: {
      type: String,
      value: 'shua' // shua: 刷题, zhi: 知识, wo: 我的
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    // 组件内部状态
  },

  /**
   * 组件的方法列表
   */
  methods: {
    /**
     * 优化的页面跳转方法，减少闪烁
     */
    navigateToPage: function(pagePath, tabName) {
      // 如果点击的是当前已激活的标签，不执行任何操作
      if (this.data.activeTab === tabName) {
        return;
      }
      
      this.setData({
        activeTab: tabName
      });
      
      try {
        // 获取当前页面栈
        const pages = getCurrentPages();
        let targetPageIndex = -1;
        
        // 查找目标页面是否已在页面栈中
        for (let i = 0; i < pages.length; i++) {
          if (pages[i].route === pagePath.replace(/^\//, '')) {
            targetPageIndex = i;
            break;
          }
        }
        
        if (targetPageIndex > -1) {
          // 如果目标页面已存在，直接切换到该页面
          wx.navigateBack({
            delta: pages.length - 1 - targetPageIndex
          });
        } else {
          // 如果目标页面不存在，使用redirectTo跳转（关闭当前页面，打开新页面）
          wx.redirectTo({
            url: pagePath,
            fail: () => {
              // 降级方案：如果redirectTo失败，使用navigateTo
              wx.navigateTo({
                url: pagePath
              });
            }
          });
        }
      } catch (e) {
        // 异常情况下使用navigateTo
        wx.navigateTo({
          url: pagePath
        });
      }
    },
    
    /**
     * 点击刷题标签
     */
    onTabShua: function() {
      this.navigateToPage('/pages/index/index', 'shua');
    },
    
    /**
     * 点击知识标签
     */
    onTabZhi: function() {
      // 检查用户是否已登录
      const userToken = wx.getStorageSync('userToken');
      if (!userToken) {
        // 未登录，跳转到登录页面
        wx.navigateTo({
          url: '/pages/logins/logins',
          success: () => {
            // 可以在这里添加一些提示信息
            wx.showToast({
              title: '请先登录',
              icon: 'none',
              duration: 1500
            });
          }
        });
        return;
      }
      
      // 已登录，正常跳转
      this.navigateToPage('/pages/zhishi/zhishi', 'zhi');
    },
    
    /**
     * 点击我的标签
     */
    onTabWo: function() {
      this.navigateToPage('/pages/mine/mine', 'wo');
    }
  }
});